#pragma once

#include "../common/noncopyable.h"
#include "GraphicDefine.h"
#include <memory>
#include <functional>

class CGraphicShapeBase;
class CGraphFactor : private noncopyable
{
public:
	CGraphFactor() {}
	~CGraphFactor() {}

	std::shared_ptr<CGraphicShapeBase> CreateGraph(
		const CPoint& startScreenPoint, 
		const CPoint& endScreenPoint, 
		ShapeEnum emShape, std::function<float(float, int)> fn);
};
